Virtualizing computer systems provide benefits such as an ability to execute multiple computer systems on a single hardware computer, replicating computer systems, moving computer systems among multiple hardware computers, and so forth. Virtualizing networks can provide additional benefits to leverage network infrastructure for multiple applications.
“Infrastructure-as-a-Service” (also commonly referred to as “IaaS”) generally describes a suite of technologies provided by a service provider as an integrated solution to allow for elastic creation of a virtualized, networked, and pooled computing platform (sometimes referred to as a “cloud computing platform”). Enterprises may use IaaS as a business-internal organizational cloud computing platform (sometimes referred to as a “private cloud”) that gives an application developer access to infrastructure resources, such as virtualized servers, storage, and networking resources. By providing ready access to the hardware resources required to run an application, the platform enables developers to build, deploy, and manage the lifecycle of a web application (or any other type of networked application) at a greater scale and at a faster pace than ever before.
Virtualized computing environments may include many processing units (e.g., servers). Other components include storage devices, networking devices (e.g., switches), etc. Current computing environment configuration relies on much manual user input and configuration to install, configure, and deploy the components of the computing environment. Particular applications and functionality must be placed in particular places (e.g., network layers) or the application/functionality will not operate properly.